Elaboration with first-class implicit function types
نویسندگان
چکیده
منابع مشابه
First-Class Phantom Types
Classical phantom types are datatypes in which type constraints are expressed using type variables that do not appear in the datatype cases themselves. They can be used to embed typed languages into Haskell or ML. However, while such encodings guarantee that only wellformed data can be constructed, they do not permit type-safe deconstruction without additional tagging and run-time checks. We in...
متن کاملFoundations of Implicit Function Types
Implicit parameters are used pervasively in Scala and are also present in a number of other programming and theorem proving languages. is paper describes a generalization of implicit parameters as they are currently found in Scala to implicit function types. We motivate the construct by a series of examples and provide formal foundations that closely follow the semantics implemented by the Sca...
متن کاملFirst-class polymorphism with existential types
Abstract datatypes can be typed conveniently using existential types. Even though it is a powerful abstraction mechanism, current type inference systems based on Hindley-Milner do not allow existential types as first-class citizens – every existential type must be explicitly declared, packed, and unpacked using a data constructor. We present an extension of theMLF type system with first-class e...
متن کاملA First-Order Logic with First-Class Types
This paper presents a strongly complete calculus for a firstorder statically-typed predicate logic with first-class types, type predicates and casts, provided that the type hierarchy is Noetherian. We show that this restriction cannot be relaxed.
متن کاملSemantics and Types for Objects with First-Class Member Names
Objects in many programming languages are indexed by first-class strings, not just first-order names. We define λ S (“lambda sob”), an object calculus for such languages, and prove its untyped soundness using Coq. We then develop a type system for λ S that is built around string pattern types, which describe (possibly infinite) collections of members. We define subtyping over such types, extend...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Proceedings of the ACM on Programming Languages
سال: 2020
ISSN: 2475-1421
DOI: 10.1145/3408983